﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace GrouponDesktop
{
    public partial class NuevaContraseña : Form
    {

        int num_user;

        public NuevaContraseña(int userid)
        {   

            InitializeComponent();
            num_user = userid;

        }

        private void button2_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void button1_Click(object sender, EventArgs e)
        {


            if (textBox1.Text != textBox2.Text)
            {

                error.Text = "Las contraseñas no coinciden.";

            }
            else
            {

                if (textBox1.Text != textBox3.Text)
                {

                    string query = "EXEC CodingSpree.getUserName '" + num_user + "'";

                    string username = BDConnection.QueryAndExecuteScalarString(query);


                    query = "EXEC CodingSpree.PasswordUsuario ";
                    query = query + "'" + username + "'";

                    String Pswd = BDConnection.QueryAndExecuteScalarString(query);



                    string password = Funciones.ImprimirHash(textBox3.Text);

                    query = "EXEC CodingSpree.LoginUsuario ";
                    query = query + "'" + username + "'" + " , ";
                    query = query + "'" + password + "'";

                    int userID = BDConnection.QueryAndExecuteScalar(query);

                    if (userID > 0) //CASE LOGIN CORRECTO
                    {

                        query = "EXEC CodingSpree.UpdateContraseña ";
                        password = Funciones.ImprimirHash(textBox1.Text);
                        query = query + "'" + username + "', " + "'" + password + "'";

                        BDConnection.execute(query);

                        MessageBox.Show("Contraseña actualizada con éxito.");

                        Close();

                    }
                    else
                    {
                        if (userID == -2)
                        {

                            MessageBox.Show("La cuenta está bloqueada. Por favor póngase en contacto con el administrador.");

                        }
                        else
                        {
                            if (userID == 0)
                            {
                                MessageBox.Show("Debe ingresar correctamente la contraseña actual.");

                            }
                            else
                            {

                                MessageBox.Show("Demasiados intentos fallidos, la cuenta esta bloqueada. Por favor póngase se en contacto con el administrador.");

                            }
                        }
                    }

                }
                else
                {

                    MessageBox.Show("Debe ingresar una contraseña distinta a la actual.");

                }

            }

        }


    }


}
